#ifndef	__GUIMANAGER_H_
#define	__GUIMANAGER_H_

#include <cstdint>
#include <vector>

#include "guiwidget.h"

class CGuiWindow;

class CGuiManager
{
	public:
		CGuiManager();
		~CGuiManager();

		void Update();
		void Render();

		void AddWindow(CGuiWindow* pWindow);
		void SetWindowFocus(uint32_t index);
			
		void GetClientMousePosition(int32_t& x, int32_t& y);
		void GetAbsoluteMousePosition(int32_t& x, int32_t& y);

		static void RenderViewport(vec2f& pos, vec2f& size); 

		static void GetClientArea(int32_t& width, int32_t& height);

	private:
		bool m_bEnabled;

		std::vector<CGuiWindow*> m_vWindows;
};

#endif
